//-----------------------------------------------------------------------
// <copyright file="AssessmentRegistration.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------

using System;using MongoDB.Bson;using MongoDB.Bson.Serialization.Attributes;

namespace SManagement.Models{
    /// <summary>
    /// Information related to a specific person registered for an Assessment
    /// Administration, assigned a specific  Assessment Form for participation
    /// in one or more Assessment Sessions.
    /// </summary>
    public class AssessmentRegistration
    {
        #region Instance Properties
        [BsonId]
        public ObjectId _id { get; set; }

        public DateTime? CreationDate { get; set; }

        public ObjectId? DaysOfInstructionPriorToAssessment { get; set; }

        public DateTime? ScorePublishDate { get; set; }

        public string TestAttemptIdentifier { get; set; }

        public bool? RetestIndicator { get; set; }

        public ObjectId? CourseSectionOrganizationId { get; set; }

        public ObjectId? RefAssessmentParticipationIndicatorId { get; set; }

        public string TestingIndicator { get; set; }

        public ObjectId? RefAssessmentPurposeId { get; set; }

        public ObjectId? RefAssessmentReasonNotTestedId { get; set; }

        public ObjectId? RefAssessmentReasonNotCompletingId { get; set; }

        public ObjectId? RefGradeLevelToBeAssessedId { get; set; }

        public ObjectId? RefGradeLevelWhenAssessedId { get; set; }

        public ObjectId PersonId { get; set; }

        public ObjectId AssessmentFormId { get; set; }

        public ObjectId? OrganizationId { get; set; }

        public ObjectId? SchoolOrganizationId { get; set; }

        public ObjectId? LeaOrganizationId { get; set; }

        public ObjectId? AssessmentAdministrationId { get; set; }

        public ObjectId? AssignedByPersonId { get; set; }

        public DateTime? AssessmentRegistrationCompletionStatusDateTime { get; set; }

        public ObjectId? RefAssessmentRegistrationCompletionStatusId { get; set; }

        #endregion Instance Properties}}